The advent of virtualization technologies for computing resources has provided benefits with respect to managing large-scale computing resources for many users with diverse needs and has allowed various computing resources or computing services to be efficiently and securely shared by multiple users. For example, virtualization technologies may allow a single physical computing machine to be shared among multiple users by providing each user with one or more computing instances hosted by the single physical computing machine using a an instance manager (e.g., a hypervisor or a Virtual Machine Manager (VMM)). Each computing instance may be a guest machine acting as a distinct logical computing system that provides a user with the perception that the user is the sole operator and administrator of a given virtualized hardware computing resource.
Computing instances may be utilized to execute applications within a high availability system. High availability may refer to a system or component that may be near continuously operational for a significant duration of time. Utilizing multiple computing instances to execute applications may provide redundancy within a system, thereby providing high availability by failing over to a redundant computing instance when a failure of a primary computing instance occurs. For example, multiple applications of the same kind may execute on computing instances (e.g., hosted by separate physical computing machines) and may be incorporated into a system design that includes a method to detect failure of an application and automatically reconfigure the system to bypass the failed application.